# 魔术方法
# __init__构造方法，使用类创建对象时，会自动执行该方法
# __str__字符串方法
# __lt__ 小于
# __gt__ 大于
# __le__ 小于等于
# __ge__ 大于等于
# __eq__ 等于
class Student :
    def __init__(self,name,age,address):
        self.name = name
        self.age = age
        self.address = address
    def __str__(self):
        return  f'结果是: 名字{self.name},年龄{self.age},地址{self.address}'
    def __gt__(self, other):
        return self.age > other.age
    def __lt__(self, other):
        return self.age < other.age
    def __le__(self, other):
        return self.age <= other.age
    def __ge__(self, other):
        return self.age >= other.age
    def __eq__(self, other):
        return self.age >= other.age
    def print_info(self):
        return f'Student类对象: 名字{self.name},年龄{self.age},地址{self.address}'

stu = Student('lz',5,'kkkk')
stu1 = Student('gf',9,'kkkk')
print(stu == stu1)
# 如果没有__str__stu打印的值<__main__.Student object at 0x00000204AA597CB0>
# 如果没有__str__魔术方法,得到的是stu的内存地址，有之后就是return返回的值
print(stu)

for x in range(3):
    print(f'第{x + 1}位同学信息录入开始')
    name = input("请输入姓名")
    age = input("请输入年龄")
    address = input("请输入地址")
    stu = Student(name,age,address)
    print(stu.print_info())
    if x<2:
        print(f'第{x + 1}位同学信息录入完成，总共需要录入三名同学信息，接下来录入{x + 2}位')
    else:
        print(f'第{x + 1}位同学信息录入完成，录入完毕')


